<?php

namespace App\Http\Controllers;

use App\Http\Requests\BaseRequest;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Http\JsonResponse;
use Illuminate\Routing\Controller as BaseController;

/**
 * Class Controller
 * @package App\Http\Controllers
 */
class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;


    /**
     * @param BaseRequest $request
     * @return JsonResponse
     * @example
     * {
     *    "abc":"123"
     * }
     */
    function index(BaseRequest $request): JsonResponse
    {

    }

    /**
     * @api //必须有这个声明才会生成文档
     * @deprecated 有这个则不会生成文档 即使存在@api
     * @package 声明命名空间或者组
     * @group 参考@package
     * @request 请求信息的demo 接口测试会使用这些参数发起请求
     * @request 请求信息的demo2 文档中也会标注这些信息
     * @request {"a":1,"b":2,"c":["x"]}
     * @param 请求参数 laravel中不区分post，还是get，更或者url
     * @param int user_id 用户ID 张三|李四
     * @param user_id
     * @param int user_id
     * @param user_id 用户ID
     * @param int user_id 用户ID
     *
     * @response user.order
     * @response id 用户id
     * @response email 邮箱 required
     * @response remark 备注 optional
     *
     * @version 接口版本号
     * @example 返回信息的demo
     */
    function test(): JsonResponse
    {

    }
}
